Systems and methods for machine learning-based predictive order generation

ABSTRACT

A system described herein may use automated techniques, such as machine learning techniques, to identify products that a user may be interested in purchasing. For example, a model may be created for a user, and attributes of products available for sale may be compared to the model. When determining that a user may be interested in a particular product, a graphical user interface (“GUI”) may be pre-populated and presented to a device of the user, to facilitate the user purchasing the product with minimal interaction.

BACKGROUND

Products and/or services may typically be available through variouscommercial channels, such as online or brick-and-mortar stores.Potential users may not always be aware of products that are availableand/or that may be of interest to them.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example process flow of how machine learningtechniques may be applied to automatically and predictively generate anorder for a product or service;

FIG. 2 illustrates an example environment in which one or moreembodiments, described herein, may be implemented;

FIG. 3 illustrates an example data structure which may represent a modelthat may be used to describe a given user or device;

FIG. 4 conceptually illustrates example factors that may be used togenerate a model that may be used to describe a given user or device;

FIG. 5 conceptually illustrates an example of how a model may representattributes of a given user or device;

FIG. 6 illustrates an example process for automatically and predictivelygenerating an order for a product or service;

FIG. 7 illustrates an example graphical user interface that may beautomatically generated, in which an order may be pre-populated based ona user model; and

FIG. 8 illustrates example components of one or more devices, accordingto one or more embodiments described herein.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements.

Embodiments described herein may provide for a machine learning-basedsystem that automatically generates and presents pre-populated graphicaluser interfaces that allow users to place orders for products and/orservices, based on machine-generated models generated for the users. Forexample, as shown in FIG. 1, a model generation component may receive(at 1) information regarding one or more users (e.g., from a userinformation repository, which, as described below, may be a device orsystem that is part of a wireless telecommunications network), and/ordevice usage information from one or more devices. The model generationcomponent may generate user models (e.g., where one user modelcorresponds to one given user, one device, or a set of devicesassociated with a particular user). As described herein, a user modelfor a particular user may generally indicate attributes associated withthe particular user, such as brand affinity (e.g., whether the userprefers one brand of a product over another), early purchase affinity(e.g., whether the user tends to pre-purchase or purchase productsshortly after release), web browsing or social media activity (e.g.,whether the user posts on social media about a particular brand,product, service, etc.), and/or other attributes.

A machine learning (“ML”) order prediction component may receive (at 2)and utilize these user models, in conjunction with product informationreceived (at 3) from a product information repository (e.g., a device orsystem that stores or provides information regarding products orservices that are for sale or will be for sale at a future time), topredict purchases of products or services that one or more of the usersmay make. For instance, the ML order prediction component may determinethat a particular user typically purchases phones from the brand“Brand_A,” that the user typically pre-purchases phones when they arereleased, and that a new model of phone, “Phone_A,” will be released inthe near future. Based on these factors, the ML order predictioncomponent may determine (at 4) that it is likely (e.g., may “predict”)that the particular user will purchase, or would desire to purchase orpre-purchase, the Brand_A Phone_A.

An automated order creation component may, based on this prediction,automatically (e.g., without a request from the user) generate (at 5) agraphical user interface (“GUI”), that indicates that the Brand_APhone_A is available for pre-purchase, and may further include an optionto place an order for the Brand_A Phone_A. As discussed in more detailherein, the GUI may also have one or more pre-populated options, such ascolor, storage capacity, where to deliver or pick up the phone, etc. Inthis manner, a user may be presented with a GUI that pre-selectsproducts and/or options for those products that the user is likely tohave ordered at some point. The user may thus be presented with anenhanced user experience in reducing the time and effort (e.g., byreducing the number of interactions, or “clicks”) in purchasing aproduct and/or service that he or she may be interested in. Furthermore,presenting these automatically generated orders may increase thelikelihood of a given user purchasing the product, which may increasethe sales potential of the product. Additionally, automaticallyconfiguring the offering for the user via machine learning reducespotential errors, reduces network clutter during times of congestion,reduces network traffic, and aides both the user and the serviceprovider during the transaction. In some embodiments, the modelgeneration component, ML order prediction component, and/or automatedorder creation component may be components of, and/or may becommunicatively coupled with, a predictive purchase assistance system(e.g., predictive purchase assistance system 210) described herein.

FIG. 2 illustrates an example environment 200, in which one or moreembodiments, described herein, may be implemented. As shown in FIG. 2,environment 200 may include one or more user equipment (“UE”) 205,predictive purchase assistance system 210, product informationrepository 215, user information repository 220, and network 225. Thequantity of devices and/or networks, illustrated in FIG. 2, is providedfor explanatory purposes only. In practice, environment 200 may includeadditional devices and/or networks; fewer devices and/or networks;different devices and/or networks; or differently arranged devicesand/or networks than illustrated in FIG. 2. For example, while notshown, environment 200 may include devices, systems, and/or otherphysical hardware that facilitate or enable communication betweenvarious components shown in environment 200, such as routers, modems,gateways, switches, hubs, etc. Alternatively, or additionally, one ormore of the devices of environment 200 may perform one or more functionsdescribed as being performed by another one or more of the devices ofenvironments 200. Devices of environment 200 may interconnect with eachother and/or other devices via wired connections, wireless connections,or a combination of wired and wireless connections. In someimplementations, one or more devices of environment 200 may bephysically integrated in, and/or may be physically attached to, one ormore other devices of environment 200.

UE 205 may include any computation and communication device that iscapable of communicating with one or more networks (e.g., network 225).For example, UE 205 may include a device that receives and/or presentscontent, such as web pages (e.g., that include text content and/or imagecontent), streaming audio and/or video content, graphical userinterfaces, and/or other content, via an Internet connection and/or viasome other delivery technique. User device 205 may also receive userinteractions via a graphical user interface (e.g., voice input, toucheson a touchscreen, “clicks” via an input device such as a mouse, etc.).In some implementations, UE 205 may be, or may include, aradiotelephone, a personal communications system (“PCS”) terminal (e.g.,a device that combines a cellular radiotelephone with data processingand data communications capabilities), a personal digital assistant(“PDA”) (e.g., a device that includes a radiotelephone, a pager, etc.),a smart phone, a laptop computer, a tablet computer, a camera, atelevision, a personal gaming system, a wearable device (e.g., a “smart”watch, “smart” glasses, “smart” jewelry, etc.), and/or another type ofcomputation and communication device.

Predictive purchase assistance system 210 may include one or moredevices (e.g., a server device or a distributed set of devices, such asa cloud computing system) that perform one or more actions describedherein. For example, predictive purchase assistance system 210 mayreceive (e.g., from UE 205, product information repository 215, userinformation repository 220, and/or from some other device or system)information regarding a user, UE 205, and/or products that are availablefor sale (and/or that have been available in the past, or will beavailable in the future). Based on this information, predictive purchaseassistance system 210 may predict purchases that may be made by users,pre-populate orders (e.g., pre-populate graphical user interfaces tofacilitate the predicted purchases), and provide the pre-populatedorders to UEs 205 associated with the users for whom the purchases werepredicted.

Product information repository 215 may include one or more devices(e.g., a server device or a distributed set of devices, such as a cloudcomputing system) that perform one or more actions described herein. Forexample, product information repository 215 may store and/or outputinformation regarding products and services that are available (and/orthat have been available in the past, or will be available in thefuture). Product information repository 215 may, for instance, includeresources provided by a manufacturer or vendor of a product, and/or mayinclude information obtained by programmatically accessing resourcesprovided by a manufacturer or vendor of a product (e.g., by “webcrawling” product websites).

User information repository 220 may include one or more devices (e.g., aserver device or a distributed set of devices, such as a cloud computingsystem) that perform one or more actions described herein. For example,user information repository 220 may store and/or output informationregarding one or more users or UEs 205, such as demographicsinformation, information indicating a type of voice or data subscriptionassociated with a user or UE 205, information regarding geographiclocations at which UE 205 was located, purchasing history associatedwith a user and/or UE 205, social media activity associated with a userand/or UE 205, web browsing activity associated with a user and/or UE205, and/or other suitable information. User information repository 220may store information correlating one or more users to one or more UEs205. For example, user information repository 220 may store a list ofdevice identifiers (e.g., International Mobile Subscriber Identity(“IMSI”) values, International Mobile Station Equipment Identity(“IMEI”) values, Subscriber Identity Module (“SIM”) values, Media AccessControl (“MAC”) addresses, etc.) that are associated with a given user.

In some embodiments, user information repository 220 may be, mayinclude, and/or may communicatively coupled with a Home SubscriberServer (“HSS”), or similar device, of a Long-Term Evolution (“LTE”)network. In some embodiments, user information repository 220 may be,may include, and/or may be communicatively coupled with a Unified DataManagement (“UDM”) function, or other similar function, of a FifthGeneration (“5G”) network.

Network 225 may include one or more radio access networks (“RANs”), viawhich UEs 205 may access one or more other networks or devices, a corenetwork of a wireless telecommunications network, an IP-based packetdata network (“PDN”), a wide area network (“WAN”) such as the Internet,a private enterprise network, and/or one or more other networks. In someimplementations, network 225 may be, include, or be in communicationwith a cellular network, such as a Long-Term Evolution (“LTE”) network,a Third Generation (“3G”) network, a Fourth Generation (“4G”) network,5G network, a Code Division Multiple Access (“CDMA”) network, etc. UE205 may connect to, and/or otherwise communicate with, via network 225,data servers, application servers, other UEs 205, etc. Network 225 maybe connected to, and/or otherwise in communication with, one or moreother networks, such as a public switched telephone network (“PSTN”), apublic land mobile network (“PLMN”), and/or another network.

FIG. 3 conceptually illustrates example data structure 300, which mayrepresent a particular user model. As data structure 300 represents auser model, the terms “data structure 300” and “user model 300” may beused interchangeably herein. Additionally, while the term “user model”is used herein, a particular model may not be restricted to one specificuser or one specific device. For example, one “user model” may representmultiple individuals, such as a family, a department of a company, orsome other group of individuals. Additionally, or alternatively, a usermodel may be based on information the describes, and/or is receivedfrom, multiple devices (e.g., a mobile telephone associated with a user,a tablet computer associated with the same user, a television set-topbox associated with the same user, etc.).

As shown, user model 300 may include several attributes 305-330. Forexample, these attributes may include channel affinity 305, earlypurchase affinity 310, browsing/media activity 315, plan propensity 320,add-on propensity 325, and device/brand affinity 330. The attributesdiscussed herein are examples of attributes that can be used, however insome embodiments, model 300 may include additional, fewer, and/ordifferent attributes. User model 300 may be generated and/or stored bypredictive purchase assistance system 210, in some embodiments. In someembodiments, user model 300 may be generated, stored, and/or received byone or more devices or systems in addition to, or in lieu of, predictivepurchase assistance system 210. The information based on which usermodel 300 may be generated may be received from one or more sources,such as from one or more UEs 205, product information repository 215,user information repository 220, and/or one or more other systems ordevices.

FIG. 3 is described in conjunction with FIG. 4, which describes factorsthat may contribute to how attributes of user model 300 are determined.Channel affinity 305 may be an attribute that represents channels that aparticular user (or group of users) has a propensity towardparticipating in when purchasing products or services. For example,channel affinity 305 may indicate that a user typically shops forproducts online (e.g., through a website or mobile application) andpurchases those products online; that the user typically shops forproducts online and purchases those products from a physical store (andif so, whether the physical store is associated with a website that theuser accessed when shopping for the products); or that the usertypically shops for products in a physical store and then purchasesthose products online.

Referring to FIG. 4, predictive purchase assistance system 210 mayreceive (at 405) information indicating that the user shops online andpurchases products in-store. In some embodiments, this information maybe received from, and/or derived from information received from, UE 205and/or user information repository 220. For example, UE 205 and/or userinformation repository 220 may include information indicating geographiclocations visited by UE 205, timestamps associated with the geographiclocations visited by UE 205, information indicating geographic locationsof stores, businesses, etc., and/or other suitable information, based onwhich predictive purchase assistance system 210 may determine that UE205 has been present at particular stores at particular times.

The information (received at 405) may further be based on information(e.g., as received or stored by UE 205 and/or user informationrepository 220) that indicates that a user of UE 205 (e.g., by using UE205 or another device associated the user) has purchased a product orservice online. For example, user information repository 220 may receiveinformation indicating that the user has purchased the product orservice, in situations where user information repository 220 isconfigured to receive such information (e.g., when user informationrepository 220 is a network device of a wireless telecommunicationsnetwork provider that also offers the product for sale online and/or inphysical stores). As another example, UE 205 may directly report (e.g.,via an application programming interface (“API”) or some other suitabletechnique) purchasing and/or geographic location information topredictive purchase assistance system 210.

Predictive purchase assistance system 210 may use machine learningtechniques to generate or refine a model that indicates how to classifythe channel affinity attribute 305 of users. For example, predictivepurchase assistance system 210 may receive (at 405) geographic locationinformation, online shopping information, and/or in-store shoppinginformation for a relatively large number (e.g., thousands, hundreds ofthousands, or more) of UEs 205 or users to determine whether aparticular user or UE 205 can be classified as having visited a store(e.g., as opposed to merely passing by, or at a location that is nearthe store but not inside the store). For example, predictive purchaseassistance system 210 may determine that UEs 205 that were presentwithin the store for ten minutes or more were more likely to beassociated with a user who made a purchase within the store, than UEs205 that were present within the store for fewer than ten minutes. Asanother example, predictive purchase assistance system 210 may determinethat a higher amount of time spent within the store is correlated with ahigher incidence of making a purchase at the store.

Early purchase affinity 310 may indicate a likelihood that a particularuser will pre-purchase a product or service, and/or may indicate alikelihood that a particular user will purchase the product or servicewithin a threshold amount of time after the product is released (e.g.,within the first week of release, within the first month of release,etc.). For example, predictive purchase assistance system 210 mayreceive (at 410) information that indicates that the particular usertypically pre-purchases phones prior to their release date. Forinstance, predictive purchase assistance system 210 may receiveinformation from UE 205 and/or user information repository 220 thatindicates purchases placed via UE 205 (and/or by a user with which UE205 is associated), and dates and/or times at which those purchases weremade. In some embodiments, this information may indicate whether thepurchase is a pre-purchase (e.g., an order for a product that is not yetavailable for sale). In some embodiments, predictive purchase assistancesystem 210 may also receive (e.g., from product information repository215) information indicating release dates of products. Predictivepurchase assistance system 210 may thus determine whether a givenpurchase of a product was made before or after the release date of theproduct. Additionally, or alternatively, predictive purchase assistancesystem 210 may further determine how far in advance of the release datea pre-purchase was made (e.g., one week before release, one month beforerelease, etc.), or how far after the release date a purchase was made(e.g., one week after release, one month after release, etc.).Predictive purchase assistance system 210 may thus generate or refinethe early purchase affinity attribute 310 for a particular user (orgroup of users) based on an analysis of when products were purchased, inrelation to their release date.

Browsing/media activity 315 may indicate how much a user accesses orcreates content that is associated with a particular product or service.For example, predictive purchase assistance system 210 may receive (at415) information that indicates that the user frequently accessesBrand_A.com (where in this example, “Brand_A.com” is a website of anexample manufacturer “Brand_A” of an example phone “Phone_A”). Forinstance, predictive purchase assistance system 210 may receive webbrowsing history from UE 205 and/or user information repository 220, andmay use machine learning, statistical analysis, and/or some othersuitable technique to classify the user or UE 205 as “frequently”visiting Brand_A.com. For example, predictive purchase assistance system210 may determine that a quantity of times that UE 205 has accessedBrand_A.com exceeds a threshold quantity of times, and/or that an amountof time spent actively browsing Brand_A.com exceeds a threshold amountof time. Additionally, or alternatively, predictive purchase assistancesystem 210 may determine that the user visits “Brand_A.com” morefrequently than websites for other brands. As another example,predictive purchase assistance system 210 may identify a search historythat indicates that the user has searched for “Brand_A” in the past,and/or has searched for “Brand_A” more frequently than other users. Insome embodiments, predictive purchase assistance system 210 may identifythat the user has clicked on advertisements for Brand_A products, and/orhas clicked on advertisements for Brand_A products more frequently thanadvertisements for products for other brands, and/or has clicked onadvertisements for Brand_A products more frequently than other usershave clicked on advertisements for Brand_A products.

As another example, predictive purchase assistance system 210 maycompare the quantity or amount of time Brand_A.com was accessed by UE205, to quantities or amounts of time that Brand_A.com was accessed bymultiple other UEs 205. For example, assume that predictive purchaseassistance system 210 receives browsing information for 1,000 UEs 205,where 100 of these UEs 205 accessed Brand_A.com during a particular timewindow (and 900 of these UEs 205 did not access Brand_A.com during thesame time window). Of the 100 UEs 205 that accessed Brand_A.com duringthe particular time window, predictive purchase assistance system 210may further determine an average quantity of times that each of the 100UEs 205 accessed Brand_A.com, and/or an average amount of time spent byeach of the 100 UEs 205 accessing Brand_A.com during the time window.Predictive purchase assistance system 210 may identify one or more ofthese 100 UEs 205 as “frequently” accessing Brand_A.com, such as the UEs205 that accessed Brand_A.com the most times out of the 100 UEs 205(e.g., the ten UEs 205 that accessed Brand_A.com the most, the top 10%of UEs that accessed Brand_A.com the most, etc.), the UEs 205 thataccessed Brand_A.com at least a threshold quantity of times (e.g., theUEs 205 that accessed Brand_A.com at least ten times during theparticular time window); and/or some combination of the above (e.g., upto ten UEs 205 that accessed Brand_A.com at least ten times during theparticular time window).

While some examples are discussed above that describe how a particularUE 205 can be compared to other UEs 205 to determine whether the UE 205can be classified as “frequently” accessing a web site, in practice,other suitable techniques are possible. For example, in addition to, orin lieu of, a classification of “frequently” accessing a web site,predictive purchase assistance system 210 may generate or modify a scorethat reflects how frequently UE 205 accesses the web site. Additionally,while examples were given above in the context of “averages,” inpractice, other statistical functions may be used, such as medians,minimums, maximums, etc. Furthermore, in order to identify differencesbetween how frequently a UE 205 accesses a site compared to other UEs205, determining outliers using standard deviations, variances, and/orother statistical techniques may be used.

Additionally, predictive purchase assistance system 210 may receive(e.g., from product information repository 215) information indicatingthat a particular website, Uniform Resource Locator (“URL”), socialmedia keyword or “hashtag,” and/or other term is associated with aparticular product or service. For example, predictive purchaseassistance system 210 may receive information indicating that the domainname “Brand_A.com” is associated with the company Brand_A, that the URL“Brand_A.com/Phone_A” is a product page associated with the Brand_APhone_A, that the social media keyword “#Phone_A” is associated with theBrand_A Phone_A, etc. In this manner, predictive purchase assistancesystem 210 may determine that a UE 205 that frequently accessesBrand_A.com is likely to be associated with a user who is interested inBrand_A products.

For example, predictive purchase assistance system 210 may receive (at420) information that indicates that the user has mentioned #Phone_A onsocial media. For example, predictive purchase assistance system 210 mayreceive (e.g., from UE 205 and/or user information repository 220)public identifying information for a social media account associatedwith the user, and may identify content generated by (e.g., “posts” or“comments”) the user via the social media account.

Plan propensity 320 may indicate attributes or types of plans (e.g.,voice plans, data plans, etc.) typically subscribed to by a user. Forexample, predictive purchase assistance system 210 may receive (e.g.,from UE 205 and/or user information repository 220) informationindicating terms of plans (e.g., month-to-month, one-year plan, two-yearplan, etc.), levels of service of plans (e.g., maximum data usage permonth, maximum voice minutes per month, data speeds, quality of service(“QoS”) levels, etc.), as well as other relevant information such asamount of usage (e.g., voice minutes used in a given period of time,amount of data used in a given period of time, etc.). Based on theseattributes, predictive purchase assistance system 210 may classify orscore the user to generate or modify a plan propensity 320 of the user.

For example, predictive purchase assistance system 210 may receive (at425) information indicating that a particular user currently subscribesto a capped data plan (e.g., has a threshold amount of data usage per agiven time period) and frequently exceeds the data cap. As similarlydiscussed above, the classification of the user “frequently” exceedingthe data cap may be on dynamic or static thresholds, and/or may be basedon a comparison of the usage of a particular user or UE 205 againstusage of multiple users or UEs 205.

Add-on propensity 325 may indicate how likely a user is to purchaseaccessories or add-ons for a particular product or service. Accessoriesor add-ons may, in some embodiments, be determined based on an analysisof names of products (e.g., a product named “Charger for Phone_A” may bedetermined to be an accessory for Phone_A, based on the phrase “forPhone_A”). In some embodiments, machine learning techniques may be usedto identify accessories or add-ons. For example, predictive purchaseassistance system 210 (and/or some other device or system) may identify(e.g., based on information received from UEs 205 and/or userinformation repository 220) that a first product was often purchased atthe same time as a second product (e.g., at least a threshold quantityor proportion of purchases of the first product were made at the sametime as purchases of the second product), and/or that owners of thefirst product often purchased the second product, while individuals whodo not own the first product purchase the second product less frequentlythan owners of the first product.

In some embodiments, add-on propensity 325 may additionally, oralternatively, be based on how often a particular user purchases add-onsor accessories. For example, predictive purchase assistance system 210may receive (at 430) information (e.g., from UE 205 and/or userinformation repository 220) that a user associated with UE 205 purchasesa phone charging cable every two months. This may indicate that the userhas a higher add-on propensity 325 than a user who purchases a phonecharging cable, for example, every twelve months.

Device/brand affinity 330 may indicate how much a particular device orbrand is likely to be purchased by a given user, as opposed to otherdevices or brands. Device/brand affinity 330 may be based on informationreceived from UE 205, product information repository 215, and/or userinformation repository 220. For instance, Predictive purchase assistancesystem 210 may analyze multiple different types of information (e.g.,social media information, purchasing information, geographic locationinformation of UE 205 (e.g., whether UE 205 visited a store that isowned by, or sells products from, a particular brand), web browsinghistory, chat transcripts between UE 205 and a sales support callcenter, and/or other types of information) in order to determine howmuch the user prefers a particular device or brand over other devices orbrands.

Predictive purchase assistance system 210 may use machine learningand/or other types of techniques in order to generate or modifydevice/brand affinity 330 for a given user. For instance, predictivepurchase assistance system 210 may determine (or receive informationindicating) that the phrase “I love” indicates a positive intent of auser, while predictive purchase assistance system 210 may determine (orreceive information indicating) that the phrase “I hate” indicates anegative intent of a user. Thus, for example, in some situations, whilepredictive purchase assistance system 210 may receive (at 420)information indicating that a user mentioned “Brand_A” on social media,predictive purchase assistance system 210 may further analyze the user'ssocial media account to determine that the mention of “Brand_A” was inthe sentence, “I hate Brand_A.” In this scenario, predictive purchaseassistance system 210 may generate or modify device/brand affinity 330to indicate that the user may not be likely to purchase an Brand_Aproduct. On the other hand, if the user's social media included thephrase “I love Brand_A,” predictive purchase assistance system 210 maygenerate or modify device/brand affinity 330 to indicate that the usermay be likely to purchase an Brand_A product (and/or favors Brand_Aproducts over products of other brands).

As another example, predictive purchase assistance system 210 mayreceive (at 435) information indicating past purchases of the user, andmay determine that the user has owned the past two generations ofPhone_A. Predictive purchase assistance system 210 may additionally, insome embodiments, receive information (e.g., from product informationrepository 215) that includes product information for the variousgenerations of Phone_A, such as names, stocking units (“SKUs”), etc.Predictive purchase assistance system 210 may also, in some embodiments,receive information that indicates product information for other relatedproducts (e.g., other phones). Based on this information, predictivepurchase assistance system 210 may not only determine that the user hasowned the previous two generations of Phone_A, it may further beinferred that the user opted to purchase the previous two generations ofPhone_A instead of other products that were available from other brands.In this situation, predictive purchase assistance system 210 maydetermine that the user favors Brand_A (and/or the Phone_A) over otherbrands (and/or products).

As yet another example, predictive purchase assistance system 210 mayreceive (at 440), a chat transcript or call log from a sales supportcenter (e.g., a transcript of a text-based chat or a voice-based chat).The chat transcript or call log may indicate that the user mentionedPhone_A while chatting with the sales support center. Based on thismention, predictive purchase assistance system 210 may increase a score,for device/brand affinity 330, associated with the user (e.g., increasethe score for Brand_A or for Phone_A in relation to an affinity scorefor another brand or product).

In some embodiments, the temporal proximity of the chat or call to therelease data of a product may also be reflected in the device/brandaffinity attribute 330. For example, if the user contacts the salessupport center within a threshold period of time (e.g., seven days) ofrelease of a product, this may indicate that the user is relativelyinterested in the product, and predictive purchase assistance system 210may increase the score, for device/brand affinity 330, based on thiscontact. In some embodiments, the threshold may be adjusted or refinedusing machine learning or other techniques. For instance, predictivepurchase assistance system 210 may identify a relatively large quantityof chats or calls, that mention a particular product) to a sales supportcenter within ten days of release of the product, but that the users whomade the calls 8-10 days prior to the release did not purchase theproduct with any significantly greater frequency or incidence than userswho did not make calls to sales support. Predictive purchase assistancesystem 210 may further, for example, identify that users who made calls1-7 days prior to the release (and also mentioned the product) purchasedthe product with significantly greater frequency or incidence than userswho did not make calls to sales support (or who made calls 8-10 daysbefore release), and may thus determine that seven days is thethreshold. Predictive purchase assistance system 210 may continue torefine the threshold over time based on correlating such chats and callsto actual purchases of products.

FIG. 5 illustrates an example representation 500 of attributes of aparticular user model 300. As shown here, attributes of user model 300may be conceptually represented by one axis (e.g., by sliders), by twoaxes (e.g., by a triangle or other shape), and/or in some other suitableway.

For example, as shown, a first slider 505 may represent early purchaseaffinity 310. In this example, the user with which user model 300 isassociated may be a classified as an early adopter, based on purchasehistory (e.g., as discussed above, the user may pre-purchase productsand/or purchase products soon after release). Slider 505 shown here mayinclude the classifications “early adopter” and “wait-and-see,” whichmay be automatically generated and/or may be manually defined. Forexample, one or more machine learning techniques may be used todetermine that the phrase “early adopter” is indicative of individualswho pre-purchase products or purchase them soon after release, based onan analysis of natural language resources (e.g., transcripts of naturallanguage conversations), based on reinforced learning (e.g., in which auser may indicate that he or she is an “early adopter” or that he or shewould rather “wait and see” before purchasing), based on correlatingpurchasing patterns of individuals with whom these phrases areassociated, etc.

As further shown, a second slider 510 may represent browsing/mediaactivity 315-1. As used herein, different sliders may represent portionsof a particular attribute, and these portions are represented here assliders 510-525, which represent portions 315-1 through 315-4,respectively, of a browsing/media activity attribute 315. As shown, theexample user may be a relatively heavy data user, as opposed to a lightdata user (e.g., based on an amount of usage of a data plan of the user,as discussed above). As another example, the user may be a relativelyheavy user of video streaming services, as opposed to a light user ofvideo streaming services. Predictive purchase assistance system 210 may,in some embodiments, determine that the user is a relatively heavy userof video streaming services based on, for instance, comparinginformation regarding streaming usage of UE 205 (e.g., as received fromUE 205 and/or user information repository 220) to information regardingstreaming usage of one or more other UEs 205.

Representation 500 may include slider 520 for browsing/media activity315-3 (e.g., a indication of how many pictures the user takes), slider525 for browsing/media activity 315-4 (e.g., how much storage capacityof UE 205, associated with the user, is used), slider 530 for channelaffinity 305-1 (e.g., whether the user tends to purchase items in aphysical store or online), and slider 535 for channel affinity 305-2(e.g., whether the user tends to shop online or shop in a physicalstore). In this example, representation 500 also includes, in lieu of aslider, triangle 540 to represent device/brand affinity 330. Thisexample reflects the user's propensity towards three example brands:Brand_A, Beta Corp., and XYZ Inc. As indicated by circle 545, the usermay tend to prefer Brand_A over Beta Corp. (e.g., as indicated by circle545 being closer to the corner representing a preference for Brand_A),and may prefer XYZ Inc. over Beta Corp. (e.g., as indicated by circle545 being closer to the corner representing a preference for XYZ Inc.).However, this representation may indicate that the user prefers XYZ Inc.over Brand_A, by virtue of circle 545 being closer to the cornerrepresenting a preference for XYZ Inc.

In some embodiments, predictive purchase assistance system 210 maygenerate a report (e.g., a GUI) that includes some or all ofrepresentation 500. For example, an administrator associated withpredictive purchase assistance system 210 may indicate a request for areport representing a model 300 for a particular user, group of users,UE 205, or group of UEs 205. Predictive purchase assistance system 210may receive the request for the report, and populate a GUI with a reportthat includes graphical elements that represent model 300 (e.g., similarto representation 500).

FIG. 6 illustrates example process 600 for automatically andpredictively generating an order for a product or service. In someembodiments, some or all of process 600 may be performed by predictivepurchase assistance system 210 and/or one or more other devices (e.g.,UE 205, product information repository 215, user information repository220, and/or another device or system).

Process 600 may include determining (at 605) attributes of a user and/ordevice. For instance, predictive purchase assistance system 210 mayreceive (e.g., from UE 205 and/or user information repository 220)attributes of a user of UE 205, and/or of UE 205 itself. For example, asdiscussed above, predictive purchase assistance system 210 may receivedemographics information of the user, a purchase history associated withthe user, an identification of a make and/or model of one or moredevices that are associated with the user (e.g., devices that have beenprovisioned or authorized for use with a wireless telecommunicationsnetwork), types of data plans subscribed to by the user, a web browsinghistory of the user, a content accessing history of the user (e.g.,identification of streaming video or audio content accessed by theuser), battery usage of UE 205, memory usage of UE 205, and/or othertypes of information regarding the user or UE 205.

Process 600 may also include generating (at 610) a model for the userand/or device. For example, as described above with respect to FIGS.3-5, predictive purchase assistance system 210 may generate a model forthe user and/or UE 205 based on the information (received at 605).Predictive purchase assistance system 210 may continue to receive (at605) ongoing information and may continue to refine (at 610) the modelfor the user. For example, over the span of months or years, the user'saffinity toward a certain brand may change. For instance, assume that ina first year, the user purchased a phone from Beta Corp. but in the twosubsequent years, the user purchased phones from Brand_A (and not fromBeta Corp.). As of the first year, the model for the user (e.g., asgenerated by predictive purchase assistance system 210) may include adevice/brand affinity attribute 330 that indicates that the user prefersBeta Corp. products over Brand_A products. In the subsequent years,predictive purchase assistance system 210 may modify the device/brandaffinity attribute 330 of the user's model to reflect that the userprefers Brand_A products over Beta Corp. products. For example,predictive purchase assistance system 210 may modify a score (e.g., asconceptually represented by a slider or a triangle graph in FIG. 5) forthe device/brand affinity attribute 330 of the user's model byincreasing a score for Brand_A, and/or by decreasing a score for BetaCorp.

Process 600 may further include determining (at 615) attributes ofproducts available for sale or presale. For example, predictive purchaseassistance system 210 may receive (e.g., from product informationrepository 215) information describing attributes of products that areavailable for sale, or will be available for sale (e.g., productsavailable for presale). The attributes of the products may include, forexample, brand, model name, memory capacity, screen size, screenresolution, screen type (e.g., Liquid Crystal Display (“LCD”), LightEmitting Diode (“LED”), organic LED (“OLED”), etc.), number of cameras,camera resolution (e.g., as expressed in megapixels), suggested retailprice, supported radio access technologies (“RATs”), and/or otherattributes.

Process 600 may additionally include predicting (at 620) a likelihood ofthe user purchasing a particular product based on the model of the userand/or the device and the attributes of products available for sale orpresale. For example, predictive purchase assistance system 210 maycompare attributes of the user model (generated at 610) to attributes ofa particular product (determined at 615) in order to determine alikelihood of the user purchasing the product. Predictive purchaseassistance system 210 may, for instance, generate a score that reflectsthe likelihood. Referring, for instance, to the attributes shown in FIG.5, predictive purchase assistance system 210 may increase a score for aproduct that has just been released (e.g., within the past week ormonth), and/or has not yet been released, based on the fact that theuser has been classified as an “early adopter.” Similarly, predictivepurchase assistance system 210 may decrease a score for a product thathas been available for a relatively long period of time (e.g., sixmonths or more, where a longer time that the product has been availablemay cause the score for the product to be decreased further).

As another example, predictive purchase assistance system 210 mayincrease a score for a product has a relatively large memory capacity(e.g., in relation to other products that are available, and/or inrelation to other products that are made available for sale within athreshold amount of time that the particular product is made availablefor sale, such as products that have been released in the same month asthe particular product), based on the classification that the user isassociated with “heavy memory usage.” Similarly, predictive purchaseassistance system 210 may decrease a score for a product that has arelatively low memory capacity, as the user may not be interested inproducts with low memory capacities.

As yet another example, predictive purchase assistance system 210 mayincrease a score for a product that includes a relatively low-performingcamera (e.g., a low camera resolution compared to cameras of otheravailable products, and/or fewer cameras than other available products),based on the determination that the user takes relatively few pictures.It may be beneficial to increase the score for such products becauseeven though they have lower capabilities than products with betterperforming cameras, the user may not be interested in paying extra forthe products with better performing cameras.

Process 600 may further include determining (at 625) that the likelihoodexceeds a threshold likelihood. For example, assuming that thelikelihood (determined at 620) that the user will purchase theparticular product is represented as a score, predictive purchaseassistance system 210 may determine whether this score exceeds athreshold score. In some embodiments, this score may be a staticthreshold, such as 75 on a normalized scale from 1-100. As discussedbelow, this score may be dynamically adjusted in some embodiments.

Process 600 may also include automatically generating and/or populatinga GUI that includes options (at 630) to order the particular product.For example, referring to FIG. 7, predictive purchase assistance system210 may generate a GUI 700 that includes options to purchase theparticular product. In this example, the particular product is theBrand_A Phone_A with a 512 GB capacity and a dark gray color. As alsoshown in FIG. 7, this product is a prerelease product (“will be releasednext Tuesday!”). These attributes (e.g., color and capacity) may havebeen determined (at 620) based on a comparison of the user model and theattributes of the available product. For example, predictive purchaseassistance system 210 may have determined that the user has an affinitytowards Brand_A products and/or the Phone_A in particular based on pastpurchase history, social media activity, browsing activity, etc.Predictive purchase assistance system 210 may also have determined thatthe user has typically purchased dark gray phones in the past, and/orthat the user does not prefer white, light gray, or black phones (e.g.,where the other options shown in FIG. 7 are white, light gray, andblack). Based on this determination, predictive purchase assistancesystem 210 may pre-select the option in the GUI for dark gray (asdenoted by the bold circle around the dark gray circular swatch in GUI700), in lieu of pre-selecting the options for white, light gray, orblack. This option may be “pre-selected” in that, prior to presentationto the user (e.g., via UE 205 associated with the user), this option maybe selected such that the user does not need to perform any action(e.g., tap a touchscreen or click a mouse) to make this selection.

In some embodiments, GUI 700 may represent, and/or may be associatedwith a “cart” for a particular user. For example, when generating GUI700, predictive purchase assistance system 210 may place the selectedproducts and/or services in a “cart,” which may be part of an orderingprocess. For example, the “cart” may include items that were selected bythe user (e.g., “added to the cart” by the user) in addition to, or insome instances in lieu of, the products and/or services added bypredictive purchase assistance system 210. By adding the products and/orservices to the cart, the process of making the purchase may requirefewer interactions, or “clicks” (e.g., by eliminating the need for theuser to place the items in the cart) from the user, thus increasing thelikelihood of the user purchasing the items.

Predictive purchase assistance system 210 may have also determined(e.g., at 610 and/or 620) that the user's devices typically use arelatively large amount of storage capacity (e.g., in relation to otherusers or devices), and may thus pre-select the largest available datacapacity (512 GB in this example). This data capacity may be selected inlieu of the other options (32 GB, 64 GB, and 256 GB, in this example).

Predictive purchase assistance system 210 may have also determined thatthe user has propensity to purchase a relatively high quantity of chargecables (e.g., in relation to other users), and may add charge cables tothe order. Predictive purchase assistance system 210 may, for instance,select a quantity in accordance with how many charge cables the userpurchased in the last year, and/or may select a quantity that is likelyto be accepted by the user. For example, predictive purchase assistancesystem 210 may use machine learning and/or other techniques to determinequantities of charge cables that were purchased by similar users (e.g.,where models of “similar users” share one or more attributes with themodel for the particular user) and may determine the quantity of chargecables to add to the order based on the determined quantities of chargecables that were purchased by similar users.

Predictive purchase assistance system 210 may have determined that theuser has a propensity to purchase products that are indicated as a“deal” or “discount” (e.g., based on past purchasing history associatedwith the user). Predictive purchase assistance system 210 may thusindicate (e.g., “QUANTITY DISCOUNT!”) in the GUI that the charge cablesare being offered at a discounted rate.

Predictive purchase assistance system 210 may also pre-select, in GUI700, a delivery option (e.g., deliver the product to the user's home, orpick up in a particular store). This option may be pre-selected basedon, for example, the channel affinity attribute 305 of the user's model.Additionally, predictive purchase assistance system 210 may pre-select adata plan (e.g., based on the plan propensity attribute 320 of theuser's model).

Process 600 may additionally include presenting (at 635) the GUI to oneor more devices associated with the user. For example, predictivepurchase assistance system 210 may deliver the GUI via a “pop-up”notification, an email, a URL, a Short Messaging Service (“SMS”)message, and/or via some other suitable technique to one or more UEs 205associated with the user. For example, predictive purchase assistancesystem 210 may receive (e.g., at 605) an indication of a particular UE205 (or set of UEs 205) that are associated with the user, and/or arecurrently being used by the user, and select one or more of these UEs205 to deliver the GUI to. For instance, in some embodiments, predictivepurchase assistance system 210 may present the GUI to a UE 205 that theuser is currently using.

In some embodiments, predictive purchase assistance system 210 maydetermine a time and/or location at which the user is most likely toplace an order via the GUI. For instance, predictive purchase assistancesystem 210 may receive or determine information indicating a time of dayand/or day of week that the user typically purchases products (e.g.,based on a purchase history associated with the user), and present theGUI in accordance with the determined time(s) and/or day(s). Forexample, assume that the user typically purchases products via UE 205between the hours of 8:00 AM-9:15 AM during weekdays. Further assumethat predictive purchase assistance system 210 determines that UE 205 isfrequently located at a set of geographic locations that correspond to acommuter rail system during these hours. In this situation, it may beinferred that the user is commuting to work (e.g., by virtue oftraveling along a commuter rail system during weekday mornings), andpurchases products while commuting. In this example, predictive purchaseassistance system 210 may present the pre-populated order GUI 700 to UE205 during this time. In some embodiments, predictive purchaseassistance system 210 may wait to present the pre-populated order GUI700 until such time as the user is likely to place the order. Forexample, even if predictive purchase assistance system 210 makes adetermination on Sunday evening that the user is likely to be interestedin purchasing the Brand_A Phone_A, predictive purchase assistance system210 may forgo presenting GUI 700 to UE 205 until Monday morning at 8:00AM. In some embodiments, predictive purchase assistance system 210 maypresent GUI 700 to UE 205, with instructions indicating a day and/ortime at which to present GUI 700 (i.e., at Monday morning at 8:00 AM, inthis example).

In some embodiments, the threshold (evaluated at 625) may be set and/oradjusted using machine learning techniques. For example, predictivepurchase assistance system 210 may receive feedback when presentingpre-populated order GUIs (e.g., in accordance with block 635), where thefeedback may include a user placing an order through the GUI, dismissingthe GUI without placing an order, placing an order for the suggestedproduct via other channels (e.g., without using the GUI), a response toa survey (e.g., where the user affirmatively indicates that the GUI wasor was not helpful), etc. Predictive purchase assistance system 210 mayadjust the threshold based on such feedback. For instance, if thethreshold is too low, then a relatively large number of disinterestedusers may receive the GUI without placing an order for the suggestedproduct, which may result in a degraded, “spammy” user experience. Onthe other hand, if the threshold is too high, then users who may havebeen interested in placing an order for the particular product may notbe provided with the opportunity to place an order through the GUI.

Process 600 may further include receiving (at 640) a selection of anoption, in the GUI, to purchase the particular product. For example,predictive purchase assistance system 210 (and/or another device orsystem) may receive an indication that the selectable option (e.g., a“place order” button) was selected. Since the particular product waspre-populated in the GUI, selection of the selectable option mayindicate that the user wishes to purchase the particular product. Thus,process 600 may include placing (at 645) the order for the particularproduct based on receiving the selection of the selectable option.

FIG. 8 illustrates example components of device 800. One or more of thedevices described above may include one or more devices 800. Device 800may include bus 810, processor 820, memory 830, input component 840,output component 850, and communication interface 860. In anotherimplementation, device 800 may include additional, fewer, different, ordifferently arranged components.

Bus 810 may include one or more communication paths that permitcommunication among the components of device 800. Processor 820 mayinclude a processor, microprocessor, or processing logic that mayinterpret and execute instructions. Memory 830 may include any type ofdynamic storage device that may store information and instructions forexecution by processor 820, and/or any type of non-volatile storagedevice that may store information for use by processor 820.

Input component 840 may include a mechanism that permits an operator toinput information to device 800, such as a keyboard, a keypad, a button,a switch, etc. Output component 850 may include a mechanism that outputsinformation to the operator, such as a display, a speaker, one or morelight emitting diodes (“LEDs”), etc.

Communication interface 860 may include any transceiver-like mechanismthat enables device 800 to communicate with other devices and/orsystems. For example, communication interface 860 may include anEthernet interface, an optical interface, a coaxial interface, or thelike. Communication interface 860 may include a wireless communicationdevice, such as an infrared (“IR”) receiver, a Bluetooth® radio, or thelike. The wireless communication device may be coupled to an externaldevice, such as a remote control, a wireless keyboard, a mobiletelephone, etc. In some embodiments, device 800 may include more thanone communication interface 860. For instance, device 800 may include anoptical interface and an Ethernet interface.

Device 800 may perform certain operations relating to one or moreprocesses described above. Device 800 may perform these operations inresponse to processor 820 executing software instructions stored in acomputer-readable medium, such as memory 830. A computer-readable mediummay be defined as a non-transitory memory device. A memory device mayinclude space within a single physical memory device or spread acrossmultiple physical memory devices. The software instructions may be readinto memory 830 from another computer-readable medium or from anotherdevice. The software instructions stored in memory 830 may causeprocessor 820 to perform processes described herein. Alternatively,hardwired circuitry may be used in place of or in combination withsoftware instructions to implement processes described herein. Thus,implementations described herein are not limited to any specificcombination of hardware circuitry and software.

The foregoing description of implementations provides illustration anddescription but is not intended to be exhaustive or to limit thepossible implementations to the precise form disclosed. Modificationsand variations are possible in light of the above disclosure or may beacquired from practice of the implementations.

For example, while a series of blocks and/or signals has been describedwith regard to FIG. 6, the order of the blocks and/or signals may bemodified in other implementations. Further, non-dependent blocks and/orsignals may be performed in parallel. Additionally, while the figureshave been described in the context of particular devices performingparticular acts, in practice, one or more other devices may perform someor all of these acts in lieu of, or in addition to, the above-mentioneddevices.

The actual software code or specialized control hardware used toimplement an embodiment is not limiting of the embodiment. Thus, theoperation and behavior of the embodiment has been described withoutreference to the specific software code, it being understood thatsoftware and control hardware may be designed based on the descriptionherein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of the possible implementations. Infact, many of these features may be combined in ways not specificallyrecited in the claims and/or disclosed in the specification. Althougheach dependent claim listed below may directly depend on only one otherclaim, the disclosure of the possible implementations includes eachdependent claim in combination with every other claim in the claim set.

Further, while certain connections or devices are shown, in practice,additional, fewer, or different, connections or devices may be used.Furthermore, while various devices and networks are shown separately, inpractice, the functionality of multiple devices may be performed by asingle device, or the functionality of one device may be performed bymultiple devices. Further, multiple ones of the illustrated networks maybe included in a single network, or a particular network may includemultiple networks. Further, while some devices are shown ascommunicating with a network, some such devices may be incorporated, inwhole or in part, as a part of the network.

Some implementations are described herein in conjunction withthresholds. To the extent that the term “greater than” (or similarterms) is used herein to describe a relationship of a value to athreshold, it is to be understood that the term “greater than or equalto” (or similar terms) could be similarly contemplated, even if notexplicitly stated. Similarly, to the extent that the term “less than”(or similar terms) is used herein to describe a relationship of a valueto a threshold, it is to be understood that the term “less than or equalto” (or similar terms) could be similarly contemplated, even if notexplicitly stated. Further, the term “satisfying,” when used in relationto a threshold, may refer to “being greater than a threshold,” “beinggreater than or equal to a threshold,” “being less than a threshold,”“being less than or equal to a threshold,” or other similar terms,depending on the appropriate context.

To the extent the aforementioned implementations collect, store, oremploy personal information provided by individuals, it should beunderstood that such information shall be collected, stored, and used inaccordance with all applicable laws concerning protection of personalinformation. Additionally, the collection, storage, and use of suchinformation may be subject to consent of the individual to such activity(for example, through “opt-in” or “opt-out” processes, as may beappropriate for the situation and type of information). Storage and useof personal information may be in an appropriately secure mannerreflective of the type of information, for example, through variousencryption and anonymization techniques for particularly sensitiveinformation.

No element, act, or instruction used in the present application shouldbe construed as critical or essential unless explicitly described assuch. An instance of the use of the term “and,” as used herein, does notnecessarily preclude the interpretation that the phrase “and/or” wasintended in that instance. Similarly, an instance of the use of the term“or,” as used herein, does not necessarily preclude the interpretationthat the phrase “and/or” was intended in that instance. Also, as usedherein, the article “a” is intended to include one or more items, andmay be used interchangeably with the phrase “one or more.” Where onlyone item is intended, the terms “one,” “single,” “only,” or similarlanguage is used. Further, the phrase “based on” is intended to mean“based, at least in part, on” unless explicitly stated otherwise.

What is claimed is:
 1. A device, comprising: a non-transitorycomputer-readable medium storing a set of processor-executableinstructions; and one or more processors configured to execute the setof processor-executable instructions, wherein executing the set ofprocessor-executable instructions causes the one or more processors to:determine one or more attributes of a user of a particular userequipment (“UE”); compare the one or more attributes, of the user, toattributes of a plurality of other users; generate a model for the userbased on the comparing of the one or more attributes, of the user, tothe attributes of the plurality of other users; determine one or moreattributes of a first product that is available for purchase; determine,based on the generated model and based on the one or more attributes ofthe first product, a time period during which a likelihood that the userwill purchase the first product exceeds a threshold likelihood;identify, based on the model and further based on determining that thelikelihood that the user will purchase the first product exceeds thethreshold likelihood, a second product associated with the firstproduct; based on determining that the likelihood that the user willpurchase the first product exceeds the threshold likelihood and furtherbased on identifying the second product, associate the first product andthe second product with a cart associated with the user; automaticallypresent, during the particular time period and based on associating thefirst and second products with the cart associated with the user, apre-populated graphical user interface (“GUI”) to the UE associated withthe user, wherein the GUI is pre-populated with: a plurality of optionsassociated with a particular attribute of the first product, wherein thepre-populated GUI includes a selection of a particular option of theplurality of options associated with the particular attribute of thefirst product, an indication of the second product, and a selectableoption to place an order for the first and second products associatedwith the cart, wherein presenting the pre-populated GUI to the UE causesthe UE to display the pre-populated GUI; receive an indication that theselectable option in the GUI was selected; and place the order for thefirst and second products, including the particular attribute of thefirst product, on behalf of the user, based on the indication that theselectable option in the GUI was selected and based on the selection ofthe selected particular option associated with the particular attributeof the first product.
 2. The device of claim 1, wherein the thresholdlikelihood is determined using one or more machine learning techniques.3. The device of claim 2, wherein executing the set ofprocessor-executable instructions, to determine the threshold likelihoodusing one or more machine learning techniques, further causes the one ormore processors to: determine, for a plurality of users, a plurality ofcorresponding scores, wherein a particular score for a particular user,of the plurality of users, represents a likelihood that the particularuser will purchase a particular product; determine which users, of theplurality of users, purchased the particular product; compare thescores, for the users who did not purchase the product, to the scoresfor the users who purchased the product; and determine or adjust thethreshold likelihood based on the comparison of the scores, for theusers who did not purchase the product, to the scores for the users whopurchased the product.
 4. The device of claim 1, wherein the one or moreattributes of the user include mentions of a make or model, of theproduct, on a social media account associated with the user.
 5. Thedevice of claim 1, wherein executing the processor-executableinstructions, to generate the model, further causes the one or moreprocessors to: identify classifications associated with one or more ofthe other users; and classify the user with a same classification asanother user that shares at least one attribute with the user.
 6. Thedevice of claim 1, wherein the product includes a mobile phone, whereinthe particular attribute of the product includes at least one of: astorage capacity of the mobile phone, or a color of the mobile phone. 7.A non-transitory computer-readable medium, storing a set ofprocessor-executable instructions, which, when executed by one or moreprocessors, cause the one or more processors to: determine one or moreattributes of a user of a particular user equipment (“UE”); compare theone or more attributes, of the user, to attributes of a plurality ofother users; generate a model for the user based on the comparing of theone or more attributes, of the user, to the attributes of the pluralityof other users; determine one or more attributes of a first product thatis available for purchase; determine, based on the generated model andbased on the one or more attributes of the first product, a time periodduring which a likelihood that the user will purchase the first productexceeds a threshold likelihood; identify, based on the model and furtherbased on determining that the likelihood that the user will purchase thefirst product exceeds the threshold likelihood, a second productassociated with the first product; based on determining that thelikelihood that the user will purchase the first product exceeds thethreshold likelihood and further based on identifying the secondproduct, associate the first product and the second product with a cartassociated with the user; automatically present, during the particulartime period and based on associating the first and second products withthe cart associated with the user, a pre-populated graphical userinterface (“GUI”) to the UE associated with the user, wherein the GUI ispre-populated with: a plurality of options associated with a particularattribute of the first product, wherein the pre-populated GUI includes aselection of a particular option of the plurality of options associatedwith the particular attribute of the first product, an indication of thesecond product, and a selectable option to place an order for the firstand second products associated with the cart, wherein presenting thepre-populated GUI to the UE causes the UE to display the pre-populatedGUI; receive an indication that the selectable option in the GUI wasselected; and place the order for the first and second products,including the particular attribute of the first product, on behalf ofthe user, based on the indication that the selectable option in the GUIwas selected and based on the selection of the selected particularoption associated with the particular attribute of the first product. 8.The non-transitory computer-readable medium of claim 7, wherein thethreshold likelihood is determined using one or more machine learningtechniques.
 9. The non-transitory computer-readable medium of claim 8,wherein the processor-executable instructions, to determine thethreshold likelihood using one or more machine learning techniques,further include processor-executable instructions to: determine, for aplurality of users, a plurality of corresponding scores, wherein aparticular score for a particular user, of the plurality of users,represents a likelihood that the particular user will purchase aparticular product; determine which users, of the plurality of users,purchased the particular product; compare the scores, for the users whodid not purchase the product, to the scores for the users who purchasedthe product; and determine or adjust the threshold likelihood based onthe comparison of the scores, for the users who did not purchase theproduct, to the scores for the users who purchased the product.
 10. Thenon-transitory computer-readable medium of claim 7, wherein the one ormore attributes of the user include mentions of a make or model, of theproduct, on a social media account associated with the user.
 11. Thenon-transitory computer-readable medium of claim 7, wherein theprocessor-executable instructions, to generate the model, furtherinclude processor-executable instructions to: identify classificationsassociated with one or more of the other users; and classify the userwith a same classification as another user that shares at least oneattribute with the user.
 12. The non-transitory computer-readable mediumof claim 7, wherein the product includes a mobile phone, wherein theparticular attribute of the product includes at least one of: a storagecapacity of the mobile phone, or a color of the mobile phone.
 13. Amethod, comprising: determining one or more attributes of a user of aparticular user equipment (“UE”); comparing the one or more attributes,of the user, to attributes of a plurality of other users; generating amodel for the user based on the comparing of the one or more attributes,of the user, to the attributes of the plurality of other users;determining one or more attributes of a first product that is availablefor purchase; determining, based on the generated model and based on theone or more attributes of the first product, a time period during whicha likelihood that the user will purchase the first product exceeds athreshold likelihood; identifying, based on the model and further basedon determining that the likelihood that the user will purchase the firstproduct exceeds the threshold likelihood, a second product associatedwith the first product; based on determining that the likelihood thatthe user will purchase the first product exceeds the thresholdlikelihood and further based on identifying the second product,associating the first product and the second product with a cartassociated with the user; automatically presenting, during theparticular time period and based on associating the first and secondproducts with the cart associated with the user, a pre-populatedgraphical user interface (“GUI”), to the UE associated with the user,wherein the GUI is pre-populated with: a plurality of options associatedwith a particular attribute of the first product, wherein thepre-populated GUI includes a selection of a particular option of theplurality of options associated with the particular attribute of thefirst product, an indication of the second product, and a selectableoption to place an order for the first and second products associatedwith the cart, wherein presenting the pre-populated GUI to the UE causesthe UE to display the pre-populated GUI; receiving an indication thatthe selectable option in the GUI was selected; and placing the order forthe first and second products, including the particular attribute of thefirst product, on behalf of the user, based on the indication that theselectable option in the GUI was selected and based on the selection ofthe selected particular option associated with the particular attributeof the product.
 14. The method of claim 13, wherein the thresholdlikelihood is determined using one or more machine learning techniques.15. The method of claim 14, wherein determining the threshold likelihoodusing one or more machine learning techniques includes: determining, fora plurality of users, a plurality of corresponding scores, wherein aparticular score for a particular user, of the plurality of users,represents a likelihood that the particular user will purchase aparticular product; determining which users, of the plurality of users,purchased the particular product; compare the scores, for the users whodid not purchase the product, to the scores for the users who purchasedthe product; and determining or adjust the threshold likelihood based onthe comparison of the scores, for the users who did not purchase theproduct, to the scores for the users who purchased the product.
 16. Themethod of claim 13, wherein the one or more attributes of the userinclude mentions of a make or model, of the product, on a social mediaaccount associated with the user.
 17. The method of claim 13, whereingenerating the model further includes: identifying classificationsassociated with one or more of the other users; and classifying the userwith a same classification as another user that shares at least oneattribute with the user.
 18. The method of claim 13, wherein the productincludes a mobile phone, wherein the particular attribute of the productincludes at least one of: a storage capacity of the mobile phone, or acolor of the mobile phone.